#pragma once

namespace Core{
	template<typename param1>
	class EventHandlerBase{
	public:
		virtual ~EventHandlerBase() {}
		void execute(param1 param) { call(param); }
		void execute() { call(); }
	private:
		virtual void call(param1 param) = 0;
		virtual void call() = 0;
	};
}